#pragma once
#include <deque>

class Picture;
class Logger
{
public:
	Logger();
	std::wstring GetLogText() const;
	void Log(const TCHAR* inText);
	const std::wstring& GetStatusText() const;
	void Clear();
	void SetCurrentLogMessage(const std::wstring& msg);
	std::wstring PixelPositionStr(int inX, int inY, const Picture& pic) const;
private:
	typedef struct {DWORD time; const TCHAR* text;} LogInfo;
	typedef std::deque<LogInfo> LogData;
	LogData mLogData;
	std::wstring mCurrentLogMessage;
	mutable bool mLastShownIsLog;
};
